using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System;
using System.Collections;
using System.Collections.Generic;

using DJY.Code.Enums;

namespace DJY.Domain.ViewModel
{
    /// <summary>
    /// 工作流节点
    /// </summary>
    public class WorkFlowNode
    {
        /// <summary>
        /// ID
        /// </summary>
        /// <value></value>
        public string id {
            get;
            set;
        }

        /// <summary>
        /// 节点类型 WFNodeType
        /// </summary>
        /// <value></value>
        public int type
        {
            get;
            set;
        }

        /// <summary>
        /// 节点编码
        /// </summary>
    	public string code
        {
            get;
            set;
        }

        /// <summary>
        /// 节点名称
        /// </summary>
    	public string name
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 备注
        /// </summary>
    	public string remark
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 坐标大小(x,y,width,height)
        /// </summary>
    	public string rectangle
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 说明
        /// </summary>
    	public string comment
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 业务页面
        /// </summary>
    	public string businessUrl
    	{
    		get;
    		set;
    	}
        
        /// <summary>
        /// 审核页面
        /// </summary>
    	public string auditUrl
    	{
    		get;
    		set;
    	}
        
        /// <summary>
        /// 业务模型
        /// </summary>
    	public string modelKey
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 开始事件
        /// </summary>
    	public string before
    	{
    		get;
    		set;
    	}
        
        /// <summary>
        /// 结束时间
        /// </summary>
    	public string after
    	{
    		get;
    		set;
    	}

        /// <summary>
        /// 跳过节点事件
        /// </summary>
    	public string skipEvent
        {
            get;
            set;
        }

        /// <summary>
        /// 处理页面大小
        /// </summary>
    	public string size
        {
            get;
            set;
        }

        /// <summary>
        /// 接入连接点
        /// </summary>
        /// <value></value>
        public List<WorkFlowNodeLink> inLinks{
            get;
            set;
        }

        /// <summary>
        /// 出连接点
        /// </summary>
        /// <value></value>
        public List<WorkFlowNodeLink> outLinks{
            get;
            set;
        }

        /// <summary>
        /// 用户
        /// </summary>
        /// <value></value>
        public List<WorkFlowNodeUser> users
        {
            get;
            set;
        }

        /// <summary>
        /// 节点属性
        /// </summary>
        public List<WorkFlowNodeProperty> properties{
            get;
            set;
        }
    }
}